package com.sjb.cp.api.aliyun.model;

import cn.hutool.core.annotation.Alias;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * @Author:sjb
 * @CreateTime:2025-02-11
 * @Description: AI编辑图片请求类
 * @Version：1.0
 */
@Data
public class CreateOutPaintingTaskRequest implements Serializable {

    private String model = "image-out-painting";

    private Input input;

    private Parameters parameters;


    @Data
    public static class Parameters implements Serializable {

        /**
         * 逆时针旋转角度
         */
        private Integer angle;

        /**
         * 图像宽高比
         */
        @Alias("output_ratio")
        private String outputRatio;

        /**
         * 图像居中 X方向
         */
        @Alias("x_scale")
        @JsonProperty("xScale")
        private float xScale;

        /**
         * 图像居中 Y方向
         */
        @Alias("y_scale")
        @JsonProperty("yScale")
        private float yScale;

        /**
         * 图像上方添加像素
         */
        @Alias("top_offset")
        private Integer topOffset;

        /**
         * 图像下方添加像素
         */
        @Alias("bottom_offset")
        private Integer bottomOffset;

        /**
         * 左
         */
        @Alias("left_offset ")
        private Integer leftOffset;

        @Alias("right_offset")
        private Integer rightOffset;

    }


    @Data
    public static class Input{

        @Alias("image_url")
        private String imageUrl;
    }


    private final static long serialVersionUID = 1L;
}
